网络自动化运维开源工具有哪些
网络自动化运维开源工具有以下这些:
Puppet:Puppet是一种Linux、UNIX、Windows平台的集中配置管理系统,使用自有的Puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。Puppet把这些系统实体称为资源,Puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。
Chef:该工具类似于Puppet,它也是使用编程脚本来实现服务器、操作系统和应用软件自动化部署和更新的。Chef使用Git编程语言,它能够提供非常详细和定制化的脚本,受到IT运维团队的青睐。
Ansible:Ansible是一款基于Python的自动化运维工具,集合了众多运维工具(Puppet、Chef)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。管理节点上的Ansible将命令通过SSH协议(或者Kerberos、LDAP)推送到被管理节点上并执行命令,通过这种方式能够在管理节点上控制一台或多台被管理节点,以执行安装软件、重启服务等命令。
Salt:Salt在配置自动化脚本或者部署应用软件方面的功能类似于Puppet和Chef。你可以通过使用Python或PyDSL编程语言创建定制化的脚本或模块,还可以下载预制模块。Salt的最大优势在于其伸缩性和弹性能力。
Git:Git是一个开源的分布式版本控制系统,用于Linux内核开发的版本控制工具,可以有效、高速地处理从很小到非常大的项目版本管理。与常用的版本控制工具CVS、Subversion等不同,它采用了分布式版本库的方式,不需要服务器端软件的支持(注:这需要区分使用的是什么样的服务器端,使用HTTP协议或者Git协议等不太一样。并且在push和pull时与服务器端还是有交互的),使源代码的发布和交流极其方便。Git的速度很快,这对于诸如Linux Kernel这样的大项目来说自然很重要。Git最为出色的是它的合并跟踪(merge tracing)能力。
Foreman:Foreman是一个集成的数据中心生命周期管理工具,提供了服务开通、配置管理以及报告功能,与Puppet一样,Foreman也是一个Ruby on Rails程序。与Puppet不同的是,Foreman更多地关注服务开通和管理数据中心的能力,如PXE启动服务器、DHCP服务器及服务器开通工具进行集成。Foreman可以与Puppet集成使用,通常是作为Puppet的前端接入。Foreman能够通过Facter组件显示系统目录信息,并且可以从Puppet主机报表中提供实时信息,能够自动化完成所有手工管理工作。Foreman还能够管理大规模(当然也包括小规模)的企业级网络,可能有很多域、子网和很多Puppet Master节点。Foreman也可以实现配置版本的回溯。